package flyweight;

import java.util.HashMap;
import java.util.Map;

/**
 * 网站工厂类
 */
public class WebSiteFactory {

	/**
	 * 池子 
	 */
	private Map<String, ConcreteWebSite> pool = new HashMap<>();

	/**
	 * 根据网站的类型来返回网站，如果没有就创建一个，放入池中并返回
	 * @param type	类型
	 * @return
	 */
	public WebSite getWebSiteCategory(String type) {
		if (!pool.containsKey(type)) {
			// 创建
			pool.put(type, new ConcreteWebSite(type));
		}
		return pool.get(type);
	}

	/**
	 * 返回池中总数
	 * @return
	 */
	public int getSize() {
		return pool.size();
	}
}